<?php

/**
 * Description: 免费公开课逻辑
 * User: devforma
 * Date: 15/6/5
 * Time: 14:56
 */

require LIB_DIR . '/LiveCourse.class.php';

class FreeOpenCourse implements iController {

    /**
     * api请求处理主函数
     * @param array $queryArgs 就是$_REQUEST变量
     * @return array api返回结果，必须含response_code
     */
    public function output($queryArgs) {

        $output = array(
            'type' => 0, //0代表跳转到固定的课程页
            'content' => '',
            'course_name' => ''
        );

        //获取最近两次的公开课程
        $course = LiveCourse::getLatestOpenCourse();

        if (!empty($course)) { //有符合条件的公开课
            if (strtotime($course->class_starttime) - 10*60 > time()) { //还没开始上课
                $output['type'] = 2;
            } else { //正在上课
                $output['type'] = 1;
            }
            $output['content'] = strval($course->id);
            $output['course_name'] = $course->course_name;

        } else {
            $output['content'] = $this->getStaticUrl();
        }

        return genOutput(1, $output);
    }

    /**
     * 获取往期公开课地址
     * @return string
     */
    private function getStaticUrl() {
        $url = explode(',', getOption('staticCourseUrl'))[0];

        if (!empty($url) && is_numeric($url)) {
            return 'http://' . $_SERVER['HTTP_HOST'] . '/plain/static_open_course?class_id='.$url;
        } elseif (!empty($url) && strpos($url, 'http') !== false) {
            return $url;
        }

        return '';
    }

}